
***************************** REPLICATION FILE FOR "When Clergy are Threatened"
***************************** By Amy Erica Smith, Forthcoming in _Politics and Religion_
***************************** Questions? Please email me at amyericas@gmail.com

****** The analysis uses the clergy survey from the Churches North and South project, conducted Fall 2014 by Amy Erica Smith
****** These data will be released in the Spring of 2017. If you would like to see a restricted version of the data before then, please contact me.


use "C:\Users\aesmith2\Dropbox\Work\Data\2014 field work Brazil and US\Data\Clergy survey\ClergySurvey_BRUS.dta", clear
cd "C:\Users\aesmith2\Dropbox\Work\research in progress\Under review_When Clergy are Threatened\Second Submission\Analysis\"

drop if country == 2
g juiz = city == "JF"

********** TREATMENT/VERSION VARIABLES
g treat = 1 if version == "A" | version == "A old"
replace treat = 2 if version == "B" | version == "B old"
replace treat = 3 if version == "Short"
tab treat, g(version)
rename version1 versionA
rename version2 versionB
rename version3 versionC
g conference = (state!="" & state!="MG" & state!= "RJ")
replace conference = 1 if versionC == 1

****** DENOMINATION
nicelylabelleddummies p1_denomination, g(denom)
g prot_evan_pent = denom2 + denom3 + denom4 + denom5 + denom6
rename denom1 catholic

recode p1_denomination (1=1) (2 3 5 = 2) (4 = 3) (6 = .), g(denom)
lab def denom 1 "Catholic" 2 "Evangelical/Mainline" 3 "Pentecostal"
lab val denom denom

tab1 p5_weeklyattend_chg p6_invitation p7_worryotherchurches
recode p5_weeklyattend_chg (1=0) (2=1) (3=.5), g(attenddrop)

recode p36_favorgroup (2=1) (1=0) (3=.5), g(grievancelaws)
recode p37_favorgroup (2=1) (1=0) (3=.5) (4 5 6 = .), g(grievancepres)
egen grievances = rowmean(grievancelaws grievancepres)

g class = 5-p2_socialclass

****** DEPENDENT VARIABLES
factor p15_discuss_godswrath p16_discuss_endtimes p20_discuss_avoidsin p21_discuss_traditionalfamily ///
	p22_discuss_chastity p23_discuss_homosexuality p24_discuss_abortion
egen personalmorality = rowmean(p15_discuss_godswrath p16_discuss_endtimes p20_discuss_avoidsin p21_discuss_traditionalfamily ///
	p22_discuss_chastity p23_discuss_homosexuality p24_discuss_abortion)
replace personalmorality = (personalmorality-1)/4

g ministerpoor = (p19_-1)/4
g socialmovements = (p8_role_socialmovements-1)/4

g supportlaws = (p11_role_supportlaws-1)/4 
g proturnoutmessage = (p29_campn_encourageturnout-1)/3
g procandidatemessage = (p31_campn_leaders-1)/3
alpha supportlaws proturnoutmessage procandidatemessage, item
egen activismindex = rowmean(supportlaws proturnout procandidate)

************************************************ ANALYSIS ***************************************************************************************************

************ FIGURE 1. Threat BY RELIGIOUS AFFILIATION
preserve
collapse (mean) attenddrop grievances ///
	(semean) se_ad=attenddrop se_gr=grievances, by(denom)
drop if denom == .
set obs 7
egen denom2 = seq(), f(1) t(4) block(1)
	lab val denom2 denom
	drop denom
	rename denom2 denom
foreach i in attenddrop grievances se_ad se_gr {
	egen `i'mn = mean(`i'),by(denom)
	replace `i' = `i'mn
	drop `i'mn
}
g xaxis = _n
egen dv = seq(), f(1) t(2) block(4)
	lab def dv 1 "Membership Threat" 2 "Political Threat", modify
	lab val dv dv
g dv_val = attenddrop if dv == 1
	replace dv_val = grievances if dv == 2
g se_val = se_ad if dv == 1
	replace se_val = se_gr if dv == 2
g lb = dv_val-2*se_val
g ub = dv_val+2*se_val
graph twoway (bar dv_val xaxis if denom == 1, lcolor(black) fcolor(gs0)) || ///
			(bar dv_val xaxis if denom == 2, lcolor(black) fcolor(gs4)) || ///
			(bar dv_val xaxis if denom == 3, lcolor(black) fcolor(gs10)) || ///
			(rcap ub lb xaxis, lcolor(black)), ///
		legend(order(1 "Catholic" 2 "Evangelical" 3 "Pentecostal") cols(3) size(small)) ///
		xlabel(2 "Membership Threat" 6 "Political Threat", notick) xtitle("") yscale(r(0 1)) ylabel(0 .25 .5 .75 1) ///
		ytitle("Average Level of Threat Reported" "by Brazilian Clergy") graphregion(fcolor(white)) ///
		caption("Source: Churches North and South 2014. Brackets represent 95% confidence intervals.", span size(small))
restore

************ FIGURE 2. DEPENDENT VARIABLES BY RELIGIOUS AFFILIATION
preserve
collapse (mean) socialmovements supportlaws proturnoutmessage procandidatemessage personalmorality ministerpoor ///
	(semean) se_sm=socialmovements se_sl=supportlaws se_pt=proturnoutmessage se_pc=procandidatemessage se_pm=personalmorality se_mp=ministerpoor , by(denom)
drop if denom == .
set obs 23
egen denom2 = seq(), f(1) t(4) block(1)
	lab val denom2 denom
	drop denom
	rename denom2 denom
foreach i in socialmovements supportlaws proturnoutmessage procandidatemessage personalmorality ministerpoor se_sm se_sl se_pt se_pc se_pm se_mp {
	egen `i'mn = mean(`i'),by(denom)
	replace `i' = `i'mn
	drop `i'mn
}
g xaxis = _n
egen dv = seq(), f(1) t(6) block(4)
	lab def dv 1 "Support Social Movements" 2 "Legislative Activism" 3 "Promote Turnout" 4 "Support Candidate" 5 "Personal Morality" 6 "Minister to the Poor" 7 "", modify
	lab val dv dv
g dv_val = socialmovements if dv == 1
	replace dv_val = supportlaws if dv == 2
	replace dv_val = proturnoutmessage if dv == 3
	replace dv_val = procandidatemessage if dv == 4
	replace dv_val = personalmorality if dv == 5
	replace dv_val = ministerpoor  if dv == 6
	replace dv_val = 100*dv_val
g se_val = se_sm if dv == 1
	replace se_val = se_sl if dv == 2
	replace se_val = se_pt if dv == 3
	replace se_val = se_pc if dv == 4
	replace se_val = se_pm if dv == 5
	replace se_val = se_mp if dv == 6
	replace se_val = 100*se_val
g lb = dv_val-2*se_val
g ub = dv_val+2*se_val
graph twoway (bar dv_val xaxis if denom == 1, lcolor(black) fcolor(gs0)) || ///
			(bar dv_val xaxis if denom == 2, lcolor(black) fcolor(gs4)) || ///
			(bar dv_val xaxis if denom == 3, lcolor(black) fcolor(gs10)) || ///
			(rcap ub lb xaxis, lcolor(black)), ///
		legend(order(1 "Catholic" 2 "Evangelical" 3 "Pentecostal") cols(3) size(small)) ///
		xlabel(2 "Social Movements" 6 "Legislative Activisim" 10 "Promote Turnout" 14 "Support Candidate" 18 "Personal Morality" 22 "Minister Poor", notick) xtitle("") ///
		ytitle("Average Approval of Brazilian Clergy:" "Church Will/Should Engage in Activity") graphregion(fcolor(white)) ///
		caption("Source: Churches North and South 2014. Brackets represent 95% confidence intervals." ////
		"Dependent variables recoded as dichotomous.", span size(small))
restore

***** TABLE 1. IMPACT OF THREAT ON CLERGY PRIORITIES
eststo clear
reg socialmovements versionA versionC attenddrop grievances class prot_evan conference juiz if brazil == 1
eststo
reg activismindex versionA versionC attenddrop grievances class prot_evan conference juiz if brazil == 1
eststo
reg personalmorality versionA attenddrop grievances class prot_evan conference juiz if brazil == 1
eststo
reg ministerpoor versionA attenddrop grievances class prot_evan conference juiz if brazil == 1
eststo
esttab, b(3) se(3) nogaps star(+ .10 * .05 ** .01) nopar

***** Figure 3. Interactions
tempfile tf1 tf2 tf3 tf4 tf5 tf6 tf7 
cd "C:\Users\aesmith2\Dropbox\Work\research in progress\Under review_When Clergy are Threatened\Second Submission\Analysis\coefficients\"
foreach dv in socialmovements activismindex personalmorality ministerpoor {
reg `dv' c.versionA##c.catholic versionC c.attenddrop##c.catholic c.grievances##c.catholic conference juiz 
estimates store xxx
	lincomest versionA+0*c.versionA#c.catholic, level(90)
		parmest, label saving(`tf1', replace) level(90)
	estimates restore xxx
	lincomest versionA+1*c.versionA#c.catholic, level(90)
		parmest, label saving(`tf2', replace) level(90)
	estimates restore xxx
	lincomest attenddrop+0*c.attenddrop#c.catholic, level(90)
		parmest, label saving(`tf3', replace) level(90)
	estimates restore xxx
	lincomest attenddrop+1*c.attenddrop#c.catholic, level(90)
		parmest, label saving(`tf4', replace) level(90)
	estimates restore xxx
	lincomest grievances+0*c.grievances#c.catholic, level(90)
		parmest, label saving(`tf5', replace) level(90)
	estimates restore xxx
	lincomest grievances+1*c.grievances#c.catholic, level(90) 
		parmest, label saving(`tf6', replace) level(90)
	estimates restore xxx
	preserve
	if (`dv' == socialmovements | `dv' == activismindex) {
		lincomest versionC, level(90) 
		parmest, label saving(`tf7', replace) level(90)
			dsconcat `tf1' `tf2' `tf3' `tf4' `tf5' `tf6' `tf7'
		}
	else dsconcat `tf1' `tf2' `tf3' `tf4' `tf5' `tf6' 
	set obs 8
	g dv = "`dv'"
	egen group = seq(), f(1) t(2)
		lab def group 1 "Protestant" 2 "Catholic"
		lab val group group
	egen indvar = seq(), f(1) t(4) block(2)
		recode indvar (4=2) (2=3) (3=4)
		lab def indvar 1 "Membership Threat Treatment" 2 "Political Threat Treatment" 3 "Reported Drop in Attendance" 4 "Political Grievances"  
		lab val indvar indvar
	save `dv'.dta, replace
	restore 
}
preserve
clear
append using socialmovements activismindex personalmorality ministerpoor 
sencode dv, replace
	lab def dv 1 "Support for Social Movements" 2 "Political Activism" 3 "Preaching on Personal Morality" 4 "Preaching on Ministry to Poor", modify
	lab val dv dv
sort dv indvar group
egen xaxis = seq(), f(1) t(8)
	replace xaxis = xaxis+2*indvar-2
	lab val xaxis xaxis
graph twoway (bar estimate xaxis if group == 1, lcolor(black) fcolor(gs6) xscale(alt) ///
				xlabel(1.5 "Membership Threat Treatment" 5.5 "Political Threat Treatment" 9.5 "Reported Drop in Attendance" 13.5 "Political Grievances", noticks)) ///
			(bar estimate xaxis if group == 2, lcolor(black) fcolor(gs12)) ///
			(rspike min90 max90 xaxis, lcolor(black)), ///
	by(dv, col(1) graphregion(fcolor(white) lcolor(white)) yrescale ///
	title("Impact of Threats on Clergy Political Activism," "by Denomination", size(medlarge) color(black)) ///
	note("Note: Marginal effects from OLS models in which threats are interacted with indicators for" ///
		"Protestant v. Catholic. Questions on topics of preaching were not asked in the questionnaires" ///
		"using the political threat treatment. Models also include congregational social class and" ///
		"fixed effects for sample component.", span size(vsmall)) ) ///
	subtitle(, ring(0) pos(11) justification(left) nobexpand lwidth(0) lstyle(none) fcolor(gs15)) xtitle("") ///
	plotregion(lcolor(black)) legend(order(1 "Protestants" 2 "Catholics")) ysize(6.5) xsize(3.5) yline(0, lcolor(gs5)) 
restore	

***** TABLE A1. Models by Denomination
eststo clear
reg socialmovements versionA attenddrop grievances class conference juiz if brazil == 1 & prot_evan == 0
eststo
reg socialmovements versionA attenddrop grievances class conference juiz if brazil == 1 & prot_evan == 1
eststo
reg activismindex versionA attenddrop grievances class conference juiz if brazil == 1 & prot_evan == 0
eststo
reg activismindex versionA attenddrop grievances class conference juiz if brazil == 1 & prot_evan == 1
eststo
reg personalmorality versionA attenddrop grievances class conference juiz if brazil == 1 & prot_evan == 0
eststo
reg personalmorality versionA attenddrop grievances class conference juiz if brazil == 1 & prot_evan == 1
eststo
reg ministerpoor versionA attenddrop grievances class conference juiz if brazil == 1 & prot_evan == 0
eststo
reg ministerpoor versionA attenddrop grievances class conference juiz if brazil == 1 & prot_evan == 1
eststo
esttab, b(3) se(3) nogaps star(+ .10 * .05 ** .01) nopar

